package core.logic.services.updateServices;

import java.util.ArrayList;

import core.logic.dataAccess.AdresDAO;
import core.logic.dataAccess.MaatschappijDAO;
import core.models.dataModels.UpdateMaatschappijModel;
import core.models.domainModel.Maatschappij;

public class UpdateMaatschappijService {

	public static UpdateMaatschappijModel getMaatschappijModel() {
		
		UpdateMaatschappijModel model = new UpdateMaatschappijModel();
		
		ArrayList<Maatschappij> lijstMaatschappij = MaatschappijDAO.getAlleMaatschappijen();
		
		model.setLijstMaatschappijen(lijstMaatschappij);
		
		return model;
	}
	
	public static UpdateMaatschappijModel getUpdateMaatschappijModel(Maatschappij maatschappij)
	{
		// nieuw updatemodel maken
		UpdateMaatschappijModel model = new UpdateMaatschappijModel();
		
		// standaard gegevens invullen in het model
		model.setLijstMaatschappijen(MaatschappijDAO.getAlleMaatschappijen());
		
		
		// maatschappij opnieuw inladen omdat niet alle gegevens ingevuld zijn
		maatschappij = MaatschappijDAO.getMaatschappijByID(maatschappij.getEigenaarID());


		
		
		// volledig ingevulde maatschappij invullen in het model
		model.setMaatschappij(maatschappij);
				
		// ingevuld model terugstruen
		return model;
	}
	
	public static void updateMaatschappij(UpdateMaatschappijModel model) {
		// Update de maatschappij
		MaatschappijDAO.updateMaatschappij(model.getMaatschappij());
				
		// Update het adres van de maatschappij
		AdresDAO.updateAdres(
				model.getMaatschappij().getAdres().get_adresId(), 
				model.getMaatschappij().getAdres().getStraat(),
				model.getMaatschappij().getAdres().getHuisnummer(),
				model.getMaatschappij().getAdres().getBus(),
				model.getMaatschappij().getAdres().getGemeente(),
				model.getMaatschappij().getAdres().getPostcode(),
				model.getMaatschappij().getAdres().getStaatProvincie(),
				model.getMaatschappij().getAdres().getLand());
	}
	
	
}
